package com.kele.clinet;

import java.util.List;

/**
 * 传感器或执行器信息
 */
public class DeviceComponent {

    /**
     * 设备类型
     * @see Type
     */
    private Type type;

    /**
     * 地址码
     */
    private int address;

    /**
     * 功能码
     * @see com.kele.constants.ModbusFunction
     */
    private int function;

    /**
     * 寄存器集合
     */
    private List<Item> itemList;



    /**
     * 元件类型
     */
    public enum Type{
         /**
          * 传感器
          */
         SENSOR,
         /**
          * 执行器
          */
         ACTUATOR
    }



    /**
     * 寄存器信息
     */
    public class Item {
        /**
         * 寄存器下标
         */
        private int index;

        /**
         * 寄存器名
         */
        private String name;

        /**
         * 数据类型
         * @see com.kele.type.DataType#ordinal()
         */
        private int dataType;


        public int getIndex() {
            return index;
        }

        public void setIndex(int index) {
            this.index = index;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public int getDataType() {
            return dataType;
        }

        public void setDataType(int dataType) {
            this.dataType = dataType;
        }
    }



    public Type getType() {
        return type;
    }

    public void setType(Type type) {
        this.type = type;
    }

    public int getAddress() {
        return address;
    }

    public void setAddress(int address) {
        this.address = address;
    }

    public int getFunction() {
        return function;
    }

    public void setFunction(int function) {
        this.function = function;
    }

    public List<Item> getItemList() {
        return itemList;
    }

    public void setItemList(List<Item> itemList) {
        this.itemList = itemList;
    }
}
